﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt.redshift
{
	// Token: 0x0200011E RID: 286
	public class TRedshiftUnload : TCustomSqlStatement
	{
		// Token: 0x1700019A RID: 410
		// (get) Token: 0x06000930 RID: 2352 RVA: 0x003030F2 File Offset: 0x003012F2
		// (set) Token: 0x06000931 RID: 2353 RVA: 0x003030FA File Offset: 0x003012FA
		public virtual string SelectStmt
		{
			get
			{
				return this.selectStmt;
			}
			set
			{
				this.selectStmt = value;
			}
		}

		// Token: 0x1700019B RID: 411
		// (get) Token: 0x06000932 RID: 2354 RVA: 0x00303103 File Offset: 0x00301303
		// (set) Token: 0x06000933 RID: 2355 RVA: 0x0030310B File Offset: 0x0030130B
		public virtual string S3
		{
			get
			{
				return this.s3;
			}
			set
			{
				this.s3 = value;
			}
		}

		// Token: 0x1700019C RID: 412
		// (get) Token: 0x06000934 RID: 2356 RVA: 0x00303114 File Offset: 0x00301314
		// (set) Token: 0x06000935 RID: 2357 RVA: 0x0030311C File Offset: 0x0030131C
		public virtual string Credentials
		{
			get
			{
				return this.credentials;
			}
			set
			{
				this.credentials = value;
			}
		}

		// Token: 0x06000936 RID: 2358 RVA: 0x00303125 File Offset: 0x00301325
		public TRedshiftUnload(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstredshiftUnload;
		}

		// Token: 0x06000937 RID: 2359 RVA: 0x0030313C File Offset: 0x0030133C
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			TDummy tdummy = (TDummy)this.rootNode;
			this.selectStmt = tdummy.st1.ToString();
			this.s3 = tdummy.st2.ToString();
			this.credentials = tdummy.st3.ToString();
			return 0;
		}

		// Token: 0x06000938 RID: 2360 RVA: 0x0030319B File Offset: 0x0030139B
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000939 RID: 2361 RVA: 0x003031AB File Offset: 0x003013AB
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0400123A RID: 4666
		private string selectStmt;

		// Token: 0x0400123B RID: 4667
		private string s3;

		// Token: 0x0400123C RID: 4668
		private string credentials;
	}
}
